package com.wn.common.pojo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.wn.VO.LngAndLatVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "旅游路线")
public class TravelRoute {
    private Integer id;

    private Integer routeId;

    @NotBlank(message="起始地不为空!")
    private String routeStartPlace;

    @NotBlank(message="抵达地不为空!")
    @Pattern(regexp = "^[\\u4e00-\\u9fa5]{0,8}$",message = "目的地为汉字")
    private String routeEndPlace;

    @NotBlank(message="路线评价不为空!")
    private String routeLevel;

    @ApiModelProperty(hidden = true)
    private Integer routeCommentId;

    @ApiModelProperty(hidden = true)
    @NotBlank(message="交通工具不为空!")
    private Integer routeTransportId;

    @NotBlank(message="景点路线id为空!")
    private Integer travelRouteId;

    @NotNull(message = "所需天数不得为空！")
    private Integer routeDay;

    @NotNull(message = "路线价格不得为空！")
    private BigDecimal routePrice;

    @ApiModelProperty(hidden = true)
    private Integer resId;

    @ApiModelProperty(hidden = true)
    private Integer routeCreateuserid;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @ApiModelProperty(hidden = true)
    private String routeCreatetime;


    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @ApiModelProperty(hidden = true)
    private String routeUpdatetime;

    @ApiModelProperty(hidden = true)
    private Integer routeUpdateuserid;

    @ApiModelProperty(hidden = true)
    private Integer isDeleted;

    @NotBlank(message="旅游路线名称不能空!")
    private String routeName;

    @ApiModelProperty(hidden = true)
    private List<ScenicSpots> scenicSpotsList;//多个景点
    @ApiModelProperty(hidden = true)
    private List<Resteraunt> resterauntList;//多个餐饮
    @ApiModelProperty(hidden = true)
    private List<Hotel> hotelList;//
    @ApiModelProperty(hidden = true)
    private List<LngAndLatVO> listLngAndLat;

    private Integer status;

    private String synopsis;//简介

    private String reminder;//温馨提示
}
